

public class MobCreator 
{
    static public Mob FireElemental1(int x, int y)
    {
        return new Mob
            (x, y, Element.Fire,
            Mob.Movement.AllRights, 0, 15, 15,
            Mob.ATTACK_DAMAGE_1, null, "Flicker", "src/images/Mobs/Fire1.png");             
        
    }
    static public Mob FireElemental2(int x, int y)
    {
        return new Mob
            (x, y, Element.Fire,
            Mob.Movement.AllRights, 0, 50, 50,
            Mob.ATTACK_DAMAGE_2, null, "Inferno", "src/images/Mobs/Fire2.png");     
    }
    
    static public Mob LightningElemental1(int x, int y)
    {
        return new Mob
            (x, y, Element.Lightning,
            Mob.Movement.AllRights, 0, 15, 15, 
            Mob.ATTACK_DAMAGE_1, null, "Spark", "src/images/Mobs/Lightning1.png");
    }
    static public Mob LightningElemental2(int x, int y)
    {
        return new Mob
            (x, y, Element.Lightning,
            Mob.Movement.AllRights, 0, 50, 50, 
            Mob.ATTACK_DAMAGE_2, null, "Surge", "src/images/Mobs/Lightning2.png");
    }
    
    static public Mob EarthElemental1(int x, int y)
    {
        return new Mob
            (x, y, Element.Earth,
            Mob.Movement.AllLefts, 0, 15, 15, 
            Mob.ATTACK_DAMAGE_1, null, "Breeze", "src/images/Mobs/Earth1.png");
    }
    static public Mob EarthElemental2(int x, int y)
    {
        return new Mob
            (x, y, Element.Earth,
            Mob.Movement.AllLefts, 0, 50, 50, 
            Mob.ATTACK_DAMAGE_1, LootCreator.EarthOrb(-2,-2), "Gust", "src/images/Mobs/Earth2.png");
    }
    
    static public Mob WaterElemental1(int x, int y)
    {
        return new Mob
            (x, y, Element.Water,
            Mob.Movement.AllLefts, 0, 15, 15, 
            Mob.ATTACK_DAMAGE_2, null, "Spout", "src/images/Mobs/Water1.png");
    }   
    public Mob WaterElemental2(int x, int y)
    {
        return new Mob
            (x, y, Element.Water,
            Mob.Movement.AllLefts, 0, 50, 50, 
            Mob.ATTACK_DAMAGE_1, null, "Hurricane", "src/images/Mobs/Water2.png");
    }
    
    static public Mob Skeleton(int x, int y)
    {
        return new Mob
            (x, y, Element.Fire,
            Mob.Movement.AllRights, 1, 15, 15, 
            Mob.ATTACK_DAMAGE_1, null, "Skeleton", "src/images/Mobs/Skeleton.png");
    }   
    static public Mob Grunt(int x, int y)
    {
        return new Mob
        (Direction.Up, x, y, Element.Water,
        Mob.Movement.BackAndForth, 1, 15, 15, 
        Mob.ATTACK_DAMAGE_1, LootCreator.WaterOrb(-1,-1), "Grunt", "src/images/Mobs/Water1.png");
    }
    
    static public Mob FireTurret(int x, int y, Direction d)
    {
        Mob m = new Mob(
            x, y, Element.Fire, Mob.Movement.None, 1, 15, 15, 
            Mob.ATTACK_DAMAGE_1, LootCreator.FireOrb(-1, -1), "Turret", "src/images/Mobs/Fire2.png");
        m.heading = d;
        m.attackWithSpells = true;
        m.activeSpell = SpellCreator.fire1(1.0, false, -1, -1, d);
        return m;
    }
    
}
